// 使用vuex统一管理头部的数据
// 按需导入 home组件的的接口函数
import { getCategory } from '@/api/home'

export default {
  namespaced: true,
  // 定义数据
  state: {
    categoryList: []
  },
  // 定义同步方法
  mutations: {
    setCagetoryList (state, list) {
      // 两个参数 state（获取定义数据中的数据）与list（作为参数，赋值作用）
      state.categoryList = list
    }
  },
  // 定义异步方法
  actions: {
    // 调用mutations中的categoryList修改值
    //  ctx.commit 解构 {commit}
    async getCategoryList ({ commit }) {
      // 1.调用接口 变量接收
      const res = await getCategory()
      // 2.提交mutations函数，存入state中
      commit('setCagetoryList', res.data.result)
    }
  }
}
// 找一个合适的地方 调用这个actions函数 接口就通了 （这个项目在layout/index.vue中调用）
